#include<stdio.h>
// //交换数组
// int main()
// {
//     int arr1[10] = {0};
//     int arr2[10] = {0};
//     int i = 0;
//     printf("请输入10个数:");
//     for(i=0; i<10; i++)
//     {
//         scanf("%d",&arr1[i]);
//     }
//     printf("请输入10个数:");
//     for(i=0; i<10; i++)
//     {
//         scanf("%d",&arr2[i]);
//     }
//     for(i=0; i<10; i++)
//     {
//         int tmp = arr1[i];
//         arr1[i] = arr2[i];
//         arr2[i] = tmp;
//     }
//     printf("交换后：");
//     for(i=0; i<10; i++)
//     {
//         printf("%d ",arr1[i]);
//     }
//     printf("\n");
//     printf("交换后：");
//     for(i=0; i<10; i++)
//     {
//         printf("%d ",arr2[i]);
//     }
//     return 0;
// }

//创建一个整形数组，完成对数组的操作
// 1.实现函数init() 初始化数组为全0
// 2.实现print()  打印数组的每个元素
// 3.实现reverse()  函数完成数组元素的逆置。
// void Init(int arr[], int sz)
// {
//     int i = 0;
//     for(i=0; i<sz; i++)
//     {
//         arr[i] = 0;
//     }
// }
// void Print(int arr[],int sz)
// {
//     int i = 0;
//     for(i=0; i<sz; i++)
//     {
//         printf("%d ",arr[i]);
//     }
//     printf("\n");
// }
// void Reverse(int arr[],int sz)
// {
//     int left = 0;
//     int right = sz-1;
//     while(left<right)
//     {
//         int tmp = arr[left];
//         arr[left] = arr[right];
//         arr[right] = tmp;
//         left++;
//         right--;
//     } 
// }
// int main()
// {
// int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
// int sz = sizeof(arr) / sizeof(arr[0]);
// printf("逆序和初始化前：");
// Print(arr, sz);
// printf("逆序后：");
// Reverse(arr, sz);
// Print(arr, sz);
// Init(arr, sz);
// printf("初始化后：");
// Print(arr, sz);
// return 0;
// }

//冒泡排序
void bubble_sort(int *arr, int sz)
{
	int i = 0;

	//冒泡排序的趟数
	for (i = 0; i < sz - 1; i++)
	{
		//一趟冒泡排序的过程
		int j = 0;
		for (j = 0; j < sz - 1 - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				int tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
			}
		}
	}
}
int main()
{
	int arr[] = { 3,1,5,9,2,4,7,6,8,0 };
	//排序 - 升序
	//冒泡排序
	int sz = sizeof(arr) / sizeof(arr[0]);

	bubble_sort(arr, sz);//arr是数组首元素的地址

	int i = 0;
	for (i = 0; i < 10; i++)
	{
		printf("%d ", arr[i]);
	}

	return 0;
}